package cn.tedu.scalaoop

import cn.tedu.scalaoop.Companion.sayHi

/**
 * @author Amos
 * @date 2022/5/17
 */

// 半生类和对象的创建：1)在同一个文件中，2)名称相同
// 伴生类和对象中的属性可以被互相访问，包括私有
class Companion {
  var name = "黄忠"
  protected val gender = "男"
  private var age = 20
  private[this] var money = 200

  sayHi()
}

object Companion {

  def sayHi()={
    println("hello")
  }

  def main(args: Array[String]): Unit = {
    val companion = new Companion
    println(companion.name, companion.gender, companion.age)
    // private[this]修饰的属性，即使是伴生类或对象也不能互相访问
//    companion.money
  }
}
